home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
T-TPUG Old Monthly Disks
/
(c)t5.d64
/
raster interpt.c
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2009-10-10
|
3KB
|
97 lines
10 REM THIS PROGRAM CREATES RASTER
20 REM INTERRUPTS FOR THE C-64 BASIC.
30 REM THE PROGRAM CAN BE INCORPORATED
40 REM IN OTHER BASIC PROGRAMS AS A
50 REM SUBROUTINE TO CREATE SPLIT 60 REM SCREENS. THE FOREGROUND COLOR
70 REM CAN BE SET AS USUAL WITH THE
80 REM COMMAND PRINT "[CONTROL][NUMBER]
90 [143] OR PRINT "[COMMODORE KEY][NUMBER)
100 DIM A(15),B$(15):GOSUB 5000
110 GOSUB 1000
120 Z=6*4096:SYSZ
130 R1=Z+4:R2=Z+3:R3=Z+6:R4=Z+5
140 C1=150:C2=250:C3=0:C4=1
150 GET A$:IF A$=""THEN 150
160 IF A$=""THEN C1=C1+1AND255:GOTO230
170 IF A$="[145]"THEN C1=C1-1AND255:GOTO230
180 IF A$=""THEN C2=C2+1AND255:GOTO230
190 IF A$="[157]"THEN C2=C2-1AND255:GOTO230
200 IF A$="[133]"THEN C3=C3+1AND15:GOTO230
210 IF A$="[134]"THEN C4=C4+1AND15:GOTO230
215 IF A$="[139]"THEN 500
218 IF A$="[136]"THEN 400
220 GOTO 150
230 POKER1,C1:POKER2,C2:POKER3,C3:POKER4,C4:GOTO150
240 :
250 REM CURSOR-UP MOVES R1 UP
260 REM CURSOR-DOWN MOVES R1 DOWN
270 REM CURSOR-RIGHT MOVES R2 DOWN
280 REM CURSOR-LEFT MOVES R2 UP
290 REM F1 BUMPS TOP COLOR
300 REM F3 BUMPS BOTTOM COLOR
310 REM F6 STOPS PROGRAM EXECUTION
320 REM F7 CHANGES FOREGROUND COLOR
400 PRINT"ENTER COLOR NUMBER (0-15)";:INPUT K
410 IFK<0ORK>15THEN400
415 PRINT" [157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]"
420 PRINTCHR$(A(K))" CHOSEN COLOR IS "B$(K):GOTO150
500 FORJ=0TO50:PRINT:NEXT:END
1000 FOR J=24576TO24698
1010 READ X:CH=CH+X
1020 POKEJ,X:NEXT
1030 IF CH<>13196 THEN PRINT"DATA ERROR":STOP
1040 PRINT"[147]"
1045 PRINT"":FORJ=1TO12:PRINTJ:NEXT
1046 PRINT13;
1048 PRINT"[144]":FORJ=14TO24:PRINTJ:NEXT
1049 PRINT25;
1050 FORJ=0TO15:READ A(J):NEXT
1051 FORJ=0TO15:READ B$(J):NEXT:RETURN
1059 DATA 76,9,96,170,170,170,170,170
1060 DATA 170,120,169,0,141,14,220,173
1070 DATA 20,3,141,7,96,173,21,3
1080 DATA 141,8,96,169,78,141,20,3
1090 DATA 169,96,141,21,3,169,150,141
1100 DATA 4,96,169,250,141,3,96,173
1110 DATA 17,208,41,127,141,17,208,173
1120 DATA 4,96,141,18,208,169,0,141
1130 DATA 6,96,169,1,141,5,96,169
1140 DATA 1,141,26,208,88,96,172,18
1150 DATA 208,162,2,204,3,96,240,7
1160 DATA 136,204,3,96,240,1,202,189
1170 DATA 4,96,141,33,208,189,2,96
1180 DATA 141,18,208,173,25,208,141,25
1190 DATA 208,224,1,208,3,76,188,254
1200 DATA 108,7,96
2000 DATA 144,5,28,159,156,30,31,158
2010 DATA 129,149,150,151,152,153,154
2020 DATA 155
2030 DATA "BLACK ","WHITE ","RED ","CYAN "
2040 DATA "PURPLE ","GREEN ","BLUE "
2050 DATA "YELLOW ","ORANGE ","BROWN "
2060 DATA "LIGHT RED","GRAY 1 ","GRAY 2 "
2070 DATA "LIGHT GREEN","LIGHT BLUE"
2080 DATA "GRAY 3 "
5000 POKE53281,0:POKE53280,2
5010 PRINT"[147] WOULD YOU LIKE INSTRUCTIONS?"
5020 PRINT" (YES/NO)"
5030 PRINT" ";:INPUT Y$
5040 IF LEFT$(Y$,1)="Y" THEN 5100
5050 IF LEFT$(Y$,1)="N" THEN RETURN
5060 PRINT"[145][145][145]": GOTO 5030
5100 PRINT"[147] THIS IS A DEMONSTRATION PROGRAM TO"
5110 PRINT"SHOW RASTER INTERRUPTS. USE CURSOR "
5120 PRINT"UP OR DOWN, RIGHT OR LEFT, TO CONTROL"
5130 PRINT"SPLIT SCREEN. F1 CONTROLS TOP"
5140 PRINT"COLOR AND F3 CONTROLS BOTTOM COLOR"
5150 PRINT"F6 STOPS THE PROGRAM AND F7 CHANGES"
5160 PRINT"THE FOREGROUND COLOR"
5170 PRINT"THIS PROGRAM WAS MODIFIED FROM A "
5180 PRINT"PROGRAM IN POWER/PLAY, NOVEMBER 1983"
5190 PRINT"BY EFRAIM HALFON, BURLINGTON, ONT."
5200 PRINT"NOTE LINES 400-420 USED TO CHANGE"
5210 PRINT"FOREGROUND COLOR USING NUMBERS (0-15) "
5220 PRINT" PRESS ANY KEY TO CONTINUE[146]"
5230 GET C$:IF C$=""THEN 5230
5240 RETURN